In today's technological environment, knowledge workers and IT professionals commonly utilize database servers employing the online analytical processing (OLAP) approach to quickly answer multi-dimensional analytical queries. OLAP, part of the broader category of business intelligence, is typically used in business reporting applications for sales, marketing, management reporting, business process management, budgeting and forecasting, financial reporting and the like.
Many database servers and their accompanying database management systems provide developers the ability to create OLAP cubes. An OLAP cube is a data structure that allows fast analysis of data and gives users the capability of manipulating and analyzing data from multiple perspectives. This arrangement of data into cubes overcomes certain limitations of relational databases. More specifically, an OLAP cube is a multi-dimensional representation of data which is pre-aggregated and provides a semantic model. This semantic model enables end users to create reports by connecting to the cube with common desktop applications (e.g., spreadsheet, content management, document management and like applications) to create reports and dashboards by simple drag-and-drop graphical user interface (GUI) actions.
Even though OLAP cubes make creating reports and dashboards easier, most developers do not know how to create them. This is because the process of hand-crafting OLAP cubes can often be painstaking, long and expensive, requiring the services of a professional engineer with in-depth knowledge of data warehousing, dimensional modeling and OLAP concepts. To create OLAP cubes, such a professional engineer typically obtains specialized knowledge of the dimensional model specific for the particular system they are working on. Further, even after an OLAP cube is created, efforts must be expended to maintain the cube, which can include creating new partitions for measure groups, adding cube translations for localization purposes, and processing cubes when necessary to ensure that cube data does not become stale.
Underlying an OLAP cube may be a dimensional data warehouse comprising a dimension table whereby dimensions describe the data of a data warehouse. Users may browse, filter and aggregate data by manipulating dimensions. A fact table provides metrics and key performance indicators among other data of fact tables which require a dimension context in order to create actionable information. For example, a metric such as total sales has no useful context until it is given, for example, a time dimension so one may discover over time whether sales are increasing or decreasing or a store dimension which help a manager determine what stores are performing compared to their sales quotas. Thus, the detail of analysis that can be performed on a fact table is restricted by the number of dimensions which can be directly or indirectly joined to the fact table.